package com.shopnight.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 
 * @TableName shop_indent
 */
@TableName(value ="shop_indent")
public class ShopIndent implements Serializable {
    /**
     * 订单id
     */
    @TableId(type = IdType.AUTO)
    private Long indentId;

    /**
     * 订单号
     */
    private String indentCode;

    /**
     * 微信支付系统生成流水号
     */
    private String transactionId;

    /**
     * 商户退款单号
     */
    private String outRefundNo;

    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 配送费
     */
    private BigDecimal deliveryPrices;

    /**
     * 是否自提 1->配送 2->自提
     */
    private Integer oneself;

    /**
     * 订单总价
     */
    private BigDecimal prices;

    /**
     * 备注
     */
    private String remark;

    /**
     * 收货人
     */
    private String consignee;

    /**
     * 收货人手机号
     */
    private String consigneePhone;

    /**
     * 详细地址
     */
    private String detailedAddress;

    /**
     * 订单状态[0-已取消；1-待付款：2-进行中 3完成配送 4退款中 5已退款 ]
     */
    private Integer indentStatus;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 配送员id
     */
    private String adminId;

    /**
     * 组织id
     */
    private Integer orgId;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 订单id
     */
    public Long getIndentId() {
        return indentId;
    }

    /**
     * 订单id
     */
    public void setIndentId(Long indentId) {
        this.indentId = indentId;
    }

    /**
     * 订单号
     */
    public String getIndentCode() {
        return indentCode;
    }

    /**
     * 订单号
     */
    public void setIndentCode(String indentCode) {
        this.indentCode = indentCode;
    }

    /**
     * 微信支付系统生成流水号
     */
    public String getTransactionId() {
        return transactionId;
    }

    /**
     * 微信支付系统生成流水号
     */
    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    /**
     * 商户退款单号
     */
    public String getOutRefundNo() {
        return outRefundNo;
    }

    /**
     * 商户退款单号
     */
    public void setOutRefundNo(String outRefundNo) {
        this.outRefundNo = outRefundNo;
    }

    /**
     * 用户id
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 用户id
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 配送费
     */
    public BigDecimal getDeliveryPrices() {
        return deliveryPrices;
    }

    /**
     * 配送费
     */
    public void setDeliveryPrices(BigDecimal deliveryPrices) {
        this.deliveryPrices = deliveryPrices;
    }

    /**
     * 是否自提 1->配送 2->自提
     */
    public Integer getOneself() {
        return oneself;
    }

    /**
     * 是否自提 1->配送 2->自提
     */
    public void setOneself(Integer oneself) {
        this.oneself = oneself;
    }

    /**
     * 订单总价
     */
    public BigDecimal getPrices() {
        return prices;
    }

    /**
     * 订单总价
     */
    public void setPrices(BigDecimal prices) {
        this.prices = prices;
    }

    /**
     * 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 收货人
     */
    public String getConsignee() {
        return consignee;
    }

    /**
     * 收货人
     */
    public void setConsignee(String consignee) {
        this.consignee = consignee;
    }

    /**
     * 收货人手机号
     */
    public String getConsigneePhone() {
        return consigneePhone;
    }

    /**
     * 收货人手机号
     */
    public void setConsigneePhone(String consigneePhone) {
        this.consigneePhone = consigneePhone;
    }

    /**
     * 详细地址
     */
    public String getDetailedAddress() {
        return detailedAddress;
    }

    /**
     * 详细地址
     */
    public void setDetailedAddress(String detailedAddress) {
        this.detailedAddress = detailedAddress;
    }

    /**
     * 订单状态[0-已取消；1-待付款：2-进行中 3完成配送 4退款中 5已退款 ]
     */
    public Integer getIndentStatus() {
        return indentStatus;
    }

    /**
     * 订单状态[0-已取消；1-待付款：2-进行中 3完成配送 4退款中 5已退款 ]
     */
    public void setIndentStatus(Integer indentStatus) {
        this.indentStatus = indentStatus;
    }

    /**
     * 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 修改时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 修改时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 配送员id
     */
    public String getAdminId() {
        return adminId;
    }

    /**
     * 配送员id
     */
    public void setAdminId(String adminId) {
        this.adminId = adminId;
    }

    /**
     * 组织id
     */
    public Integer getOrgId() {
        return orgId;
    }

    /**
     * 组织id
     */
    public void setOrgId(Integer orgId) {
        this.orgId = orgId;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ShopIndent other = (ShopIndent) that;
        return (this.getIndentId() == null ? other.getIndentId() == null : this.getIndentId().equals(other.getIndentId()))
            && (this.getIndentCode() == null ? other.getIndentCode() == null : this.getIndentCode().equals(other.getIndentCode()))
            && (this.getTransactionId() == null ? other.getTransactionId() == null : this.getTransactionId().equals(other.getTransactionId()))
            && (this.getOutRefundNo() == null ? other.getOutRefundNo() == null : this.getOutRefundNo().equals(other.getOutRefundNo()))
            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
            && (this.getDeliveryPrices() == null ? other.getDeliveryPrices() == null : this.getDeliveryPrices().equals(other.getDeliveryPrices()))
            && (this.getOneself() == null ? other.getOneself() == null : this.getOneself().equals(other.getOneself()))
            && (this.getPrices() == null ? other.getPrices() == null : this.getPrices().equals(other.getPrices()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getConsignee() == null ? other.getConsignee() == null : this.getConsignee().equals(other.getConsignee()))
            && (this.getConsigneePhone() == null ? other.getConsigneePhone() == null : this.getConsigneePhone().equals(other.getConsigneePhone()))
            && (this.getDetailedAddress() == null ? other.getDetailedAddress() == null : this.getDetailedAddress().equals(other.getDetailedAddress()))
            && (this.getIndentStatus() == null ? other.getIndentStatus() == null : this.getIndentStatus().equals(other.getIndentStatus()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getAdminId() == null ? other.getAdminId() == null : this.getAdminId().equals(other.getAdminId()))
            && (this.getOrgId() == null ? other.getOrgId() == null : this.getOrgId().equals(other.getOrgId()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getIndentId() == null) ? 0 : getIndentId().hashCode());
        result = prime * result + ((getIndentCode() == null) ? 0 : getIndentCode().hashCode());
        result = prime * result + ((getTransactionId() == null) ? 0 : getTransactionId().hashCode());
        result = prime * result + ((getOutRefundNo() == null) ? 0 : getOutRefundNo().hashCode());
        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
        result = prime * result + ((getDeliveryPrices() == null) ? 0 : getDeliveryPrices().hashCode());
        result = prime * result + ((getOneself() == null) ? 0 : getOneself().hashCode());
        result = prime * result + ((getPrices() == null) ? 0 : getPrices().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getConsignee() == null) ? 0 : getConsignee().hashCode());
        result = prime * result + ((getConsigneePhone() == null) ? 0 : getConsigneePhone().hashCode());
        result = prime * result + ((getDetailedAddress() == null) ? 0 : getDetailedAddress().hashCode());
        result = prime * result + ((getIndentStatus() == null) ? 0 : getIndentStatus().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getAdminId() == null) ? 0 : getAdminId().hashCode());
        result = prime * result + ((getOrgId() == null) ? 0 : getOrgId().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", indentId=").append(indentId);
        sb.append(", indentCode=").append(indentCode);
        sb.append(", transactionId=").append(transactionId);
        sb.append(", outRefundNo=").append(outRefundNo);
        sb.append(", userId=").append(userId);
        sb.append(", deliveryPrices=").append(deliveryPrices);
        sb.append(", oneself=").append(oneself);
        sb.append(", prices=").append(prices);
        sb.append(", remark=").append(remark);
        sb.append(", consignee=").append(consignee);
        sb.append(", consigneePhone=").append(consigneePhone);
        sb.append(", detailedAddress=").append(detailedAddress);
        sb.append(", indentStatus=").append(indentStatus);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", adminId=").append(adminId);
        sb.append(", orgId=").append(orgId);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}